using System;
using System.Collections.Generic;
using BLL.Model.User;
using BLL.Utility;

namespace BLL.Interface.User
{
	public interface IRoleInfo
	{
		bool AddRoleInfo(RoleInfo roleInfo);

		bool AddRoleInfo(IList<RoleInfo> roleInfoList);
		
		bool UpdateRoleInfo(RoleInfo roleInfo);
		
		bool DeleteRoleInfoById(int id);

		bool DeleteRoleInfoById(IList<int> idList);

		bool DeleteAllRoleInfo();

		IList<RoleInfo> GetAllRoleInfo();

		RoleInfo FindRoleInfoById(int id, bool tracking = false);
		
		IList<RoleInfo> GetRoleInfoByFilter(dynamic condition, Tuple<string, string> sort, PageInfo page);

	    RoleInfo FindRoleInfoByName(string name);
	}

}
